package projeto.comercial.gerenciarservico.cih;

import java.util.ArrayList;
import java.util.List;

import nucleo.comuns.visao.NucleoTab;
import plataforma.base.cdp.ExcecaoRegraNegocio;
import plataforma.crudestatico.cih.FormularioDadosCRUDEstatico;
import projeto.administrativo.colaboradorexterno.cih.AbaInformacoes;
import projeto.comercial.gerenciarservico.cdp.Servico;

public class FormDadosGerenciarServico extends
		FormularioDadosCRUDEstatico<Servico> {

	AbaDadosBasicos abaDados = new AbaDadosBasicos();	
	AbaInformacoes abaInformacoes = new AbaInformacoes();

	@Override
	protected List<NucleoTab> definirTabs() {
		List<NucleoTab> listaTabs = new ArrayList<NucleoTab>();
		listaTabs.add(abaDados);
		listaTabs.add(abaInformacoes);
		
		return listaTabs;
	}

	@Override
	protected void preencherDadosObjeto(Servico objeto) {
		//os unicos valores da aba basica que mudam sao esses 3 abaixo
		objeto.setDataConclusao(abaDados.getDataConclusao().getValue());
		objeto.setDataPrevistaConclusao(abaDados.getDataPrevistaConclusao().getValue());		
		objeto.setSituacao(abaDados.getSituacao().getValorSelecionado());			
		objeto.setInformacoes(abaInformacoes.getInformacoes());
	}
	

	@Override
	public boolean isValid() {
		return abaDados.isValid();
	}

	@Override
	protected void preencherDadosTela(Servico objeto)
			throws ExcecaoRegraNegocio {
		
		abaDados.getDataConclusao().setValue(objeto.getDataConclusao());
		abaDados.getDataPrevistaConclusao().setValue(objeto.getDataPrevistaConclusao());
		abaDados.getCampoCliente().setValue(objeto.getCliente().getNome());
		abaDados.getSituacao().setValorSelecionado(objeto.getSituacao());
		abaDados.getCampoNomeKServico().setValue(objeto.getKservico().getDescricao());

		abaDados.getValorVenda().setValorDecimal(objeto.getValorVenda());
		abaDados.getValorFinal().setValorDecimal(objeto.getValorFinal());
		abaDados.getValorDesconto().setValorDecimal(objeto.getValorDesconto());
		abaInformacoes.preencherComDados(objeto.getInformacoes());

	}

}
